home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 19
/
Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso
/
Aminet
/
comm
/
cnet
/
gu40pack.lha
/
gu40pack
/
OFFSET_Scanner.README!
< prev
Wrap
Text File
|
1997-03-21
|
17KB
|
335 lines
============================================================================
OFFSET Value Scanner, v2.10 Written by Dotoran of Frontiers!
============================================================================
What Is It?
~~~~~~~~~~~
This program will let you peek behind the scenes of CNet Amiga by giving
you the ability to see what is stored in various memory locations, aka
OFFSET locations.
It also has many powerful functions built-in that will make searching out
an "unknown" GETUSER quite easy, or for TESTING a GETUSER to see if it will
return the value you are looking for.
How Do I Install It?
~~~~~~~~~~~~~~~~~~~~
1: Place the "OFFSET_Scanner" and "OFFSET_BookMarks" files somewhere in your
system. I chose to keep them both in the included "GU40Pack/" directory,
which I then stored in my TEXTS: assigned path(this is what I call my
gfiles area in CNet, v4.xx). The "BookMarks" file MUST be stored in the
SAME location as the OFFSET_Scanner in order for it to be found.
2: You can ADD the "OFFSET_Scanner" into your DOORS section as a SysOp Only
ARexx File, mainly because this file won't be of much use to regular users
on your system. It doesn't do anything HARMFUL to the data, but DOES have
the ability to show user passwords and other vital info on the screen. It
is for this reason, you will want to keep close tabs as to WHO can use
this file.
3: Add the following line to the bottom of Menu # 1, Maintenance Menu
in your BBSMENU file:
OFFSET scanner | {#0<path>OFFSET_Scanner}
|
`--> A Control-Q Character
Replace <path> above with the location you chose to store the file in
Step # 1 above. This will create a command "OFFSET" that you can type
from anywhere on your system to load and run the Scanner.
4: Save your bbsmenu file, then reload it by clicking once on your Control
Panel window, then pressing RAMIGA-T and you'll be all set!
How Do I Use The Scanner?
~~~~~~~~~~~~~~~~~~~~~~~~~
After you start the program, you will be asked four questions. The first
question asks you for the value to START scanning from. This can be any valid
GETUSER value:
1 thru 102 - Predefined SHORT GetUser values.
1x00000 thru 1x15490 - Long Offsets in the PortData structure.
2x00000 thru 2x28220 - Long Offsets in the MainPort structure.
3x00000 thru 3x00573 - Long Offsets in the PortDataExtension struct.
4x00000 thru 4x00992 - Long Offsets in the MainPortExtension struct.
This question will default to the LAST GetUser value you were looking at
when you QUIT the program, or "1" if it's the first time you used the program,
if you press ENTER/RETURN without typing a specific value.
The second question allows you to type the characters you wish to TEST
for. The Scanner will STOP when it comes to a value that is either EQUAL TO
or CONTAINS the TEST string. More on TESTING in a bit. This question will
default to the text "XXX", which is very seldomly found.
The third question asks you which ID Number you'd like to load into the
CNet Scratch Buffer initially. The Scanner can also be used to read any values
from within the Scratch Buffer too! This question will default to ID # 2, as
it is assumed that ID # 1 will be the one using the Scanner the most, and you
wouldn't want ID # 1 to reside in ALL the locations, as you would then not
know which were regular locations and which were Scratch locations.
The last question will simply ask you if you'd like to view the MENU of
commands, before the first location is scanned. It defaults to NO for speed.
I mainly wrote this program as a way of SEARCHING OUT certain characters
and/or values found within CNet. That's where the TEST string comes in. By
telling the program to search large ranges given a definate test string, one
can simply let the computer do the work for you.
When you first use the program, and answer the four initial questions,
you will be shown the OFFSET value you specified, followed by the contents
that are found within that location. (NOTE: The actual contents are what
FOLLOW the colon. The colon after the OFFSET is supplied by the program.)
Below this value, you will see "->" which is the work prompt for this
program. Simply pressing RETURN at this prompt will display the next
location in numerical order, so if you pressed RETURN four times for the
initial questions and were shown location number 1, pressing RETURN here
would show you location number 2, or "GETUSER 2", which is the user's
PASSWORD.
Try pressing one of the following characters at the "->" prompt:
/ ? M H
All four do the same thing, they show you a help menu of the available
work commands. Here's the menu that is shown to you:
->D: DISPLAY This Many OffSets. ->N: Specify NEW Offset(???????).
->V: New VARIABLE Type(??xxxxx). ->O: New OFFSET Digits(xx?????).
->T: Specify New TEST String. ->E: ENTER Sleep Test Mode.
->+: Move List FORWARDS. ->-: Move List BACKWARDS.
->U: Use GETUSER Command. ->S: Use GETSCRATCH Command.
->P: PICK New GetScratch User. ->J: Specify New JUMP Value.
->B: Set GetUser BOOKMARK(0-9). ->F: FLIP to GetUser BookMark(0-9).
->L: LIST GetUser BookMarks. ->C: CLEAR The Screen Now.
->H: This MENU(Also M / ?). ->Q: Quit Scanning OffSets.
And here is a description of each command found ON that Menu:
->D: DISPLAY This Many OffSets.
- Tells the Scanner how many OFFSET's to DISPLAY on the screen BEFORE
you see the work prompt again. When you first start the Scanner, the
DISPLAY value is set to "1". Try setting it to "20" or "23" to fill
the whole screen with a range of OFFSET values.
->N: Specify NEW Offset(???????).
- Will allow you to specify a NEW OFFSET value to start Scanning from.
In our initial example, we were working with the "short" values. Try
pressing "N" and typing in: 1300119 and pressing your RETURN key two
times. The user's street address should be displayed for the contents.
->V: New VARIABLE Type(??xxxxx).
- Will allow you to specify a New Variable TYPE & Structure location. In
other words, this command will allow you to specify a different two
FIRST digits, while keeping the last FIVE digits the same. For more
info on Variable Types & Structure Locations, see the "GU40_Intro".
->O: New OFFSET Digits(xx?????).
- Will allow you to specify a New LOCATION Value. In other words, this
command allows you to modify the LAST FIVE digits, while keeping the
first TWO digits intact. For more information concerning LOCATION
values, see the "GU40_Intro".
->T: Specify New TEST String.
- Allows you to change the active TEST to search for. More on TESTING
in a second...
->E: ENTER Sleep Test Mode.
- When in "Sleep Mode", the program will continue to search for the TEST
string, but will NOT print the data down the screen, nor will it print
the actual data found in EACH location. Using "Sleep Mode" is a sub-
stantially faster way to search out your TEST string. You can ABORT
"Sleep Mode" by pressing any key, after which you'll be given the ->
prompt. If the TEST string is FOUND, you will be shown the locations
of the previous FIVE getusers, THEN the location the TEST string was
located in. Pressing "E" again will continue the test from the current
location.
->+: Move List FORWARDS.
- Tells the Scanner to Scan FORWARDS, like this: 1, 2, 3, 4, 5, etc...
- You may use the EQUALS Key to do the same thing, if that makes it any
easier for you.
->-: Move List BACKWARDS.
- Tells the Scanner to Scan BACKWARDS, like this: 5, 4, 3, 2, 1, etc...
- If a JUMP Value is set higher than "1", scanning BACKWARDS will also
JUMP that many locations backwards. Remember, if you're looking for a
particular PATTERN in the values AND you are scanning BACKWARDS, you
will have to think about your PATTERN backwards. By this I mean if you
were looking for the ID# pattern talked about below in the "J" command,
you'd be looking for this pattern: 1 1 -1 -1 (for ID # 1, ID # 1,
Empty Port, Empty Port), but if you are Scanning BACKWARDS, you'd be
looking for this pattern: -1 -1 1 1. See?!?
->U: Use GETUSER Command.
- The Scanner defaults to displaying the values returned when used by
the GETUSER command. You'll see a lowercase "u" to the LEFT of each
OFFSET value alerting you to this fact. This command is used to return
to using the GETUSER command, IF you were using the GETSCRATCH command
talked about next...
->S: Use GETSCRATCH Command.
- By pressing "S", you can tell the Scanner to read the values using the
GETSCRATCH command, instead of the GETUSER command. This will allow you
to find the GETUSER values for selected Scratch Locations. You'll be
shown a lowercase "s" to the LEFT of the OFFSET value to alert you to
the fact you're using the GETSCRATCH command. Press "U" to switch back
to using the GETUSER command.
->P: PICK New GetScratch User.
- Pressing "P" will allow you to specify an alternate account to load
into the Scratch Buffer. This allows you to change your answer to the
third initial question that was asked upon entering this file.
->J: Specify New JUMP Value.
- Allows you to specify a JUMP value. By default, the Scanner doesn't
JUMP over ANY values. By this I mean if you were looking at value 1,
the next value you would see would be 2, then 3, then 4, etc. setting
the JUMP value to something other than 1 allows you to view every
N'th value. This comes in handy when viewing some of the "long" OFFSET
values, like "AGName", which fills thirty-two locations with one piece
of information. Try pressing "N" followed by this value: 2302058. This
is the location where the name of Access Group # 0 is stored. If you
take a look at the next couple of locations, you'll see that each
consecutive location contains one less character than the previous
location. Now, press "N", followed by 2302214, and you'll see the name
for Access Group # 1. Now press "N" and 2302058 to go back to group 0's
name. This time, press "J" and type the value "156" and press RETURN.
Type "D" and set it for "31", then press your RETURN key TWO times.
You should then see the NAMES for all 32 of your Access Groups!
->B: Set GetUser BOOKMARK(0-9).
- This version of the Scanner allows you to create up to TEN "BookMarks",
or GETUSER locations to REMEMBER. You can then do DIRECTLY to that
location using the "F" command, or list them using the "L" command. To
set a BookMark, you should have the GetUser Value you wish to remember
displayed on your screen, then press "B". At the B: prompt, type any
number from 0 thru 9 to store this location onto that key. All your
BookMarks will be SAVED when you QUIT the program, so that you can USE
them again the next time to use the Scanner.
- NOTE: Since the Scanner also SAVES the LAST location you were looking
at, this could be considered an ELEVENTH BookMark. (Hint: Press
the | key(RIGHT of the "=" key) to move to this location!)
->F: FLIP to GetUser BookMark(0-9).
- FLIP allows you to go DIRECTLY to one of your defined BookMarks. Press
"F", followed by a number from 0 thru 9 to go DIRECTLY to that location.
->L: LIST GetUser BookMarks.
- Use the "L" command to LIST your defined BookMarks, possibly before
using the "F" command above, so as not to overwrite an existing book
mark you may have wanted to keep.
->C: CLEAR The Screen Now.
- Will clear the entire screen and print the LAST location you were
looking at at the top of the screen. This is sometimes useful when
working with the x6xxxxx's or the x3xxxxx's that may print garbled
characters all over the screen, which makes for TOUGH reading.
->H: This MENU(Also M / ?).
- One of the four keys that will redisplay this help menu.
->Q: Quit Scanning OffSets.
- Will tell the Scanner you wish to QUIT. You will have to press Q again
when you see the "Q to Quit:" prompt to actually QUIT the program, or
press RETURN again to reenter the work prompt "->".
----------------------------------------------------------------------------
OK, now for a word on TESTING. Thus far, the TEST works in this way:
1: The TEST will only stop if one of three things should occur:
- An EXACT match is found.
- A string CONTAINING the Test string is found.
- The "DISPLAY" value has been reached.
2: If a match IS found, the "D" value will be dropped to "10" if it's
set to a higher value. This was done so that you could view the next
couple locations and see if the pattern you may have been searching for
exists, or if you need to continue searching out the TEST string.
If you're simply scanning through the locations and don't wish to TEST
for anything, use "XXX" as your TEST STRING. I haven't run across ANY
location that contains these three characters, so you SHOULD be safe
using them.
If you think you've found the location you're looking for, DON'T bet on
it. Double check your findings by exiting the Scanner and changing the
current value of this variable, then reuse the Scanner and type the same
OFFSET value to see if it presents you with the NEW UPDATED contents.
MANY of the locations store similar data, so at first it might confuse
you.
The YES/NO or ON/OFF variables are some of the most "FUN" to try and
search out, because you'll find MANY, MANY 0's and 1's in the different
locations. For a tip in searching for one of these, try searching for a
select pattern. For instance, the PRIVATE info concerns the user's Real
Name, their Address, their Birthdate, etc. If you were searching out just
ONE of these values, you could be at it for DAYS, but if you search out
the WHOLE string(5 in all), it'll make your work lots easier. Let's take
an example:
Private Name -> No
Private Age -> Yes
Private Address -> Yes
Private VOICE -> Yes
Private DATA -> No
If these are the current values, you could make the following pattern,
given a "Yes" means a "1", and a "No" means a "0": 0 1 1 1 0
Now that you know the PATTERN, all that's left to do is find the 5
locations where 1's and 0's occur in this order. Use the Scanner to set
the START OFFSET value to: 1100550. This location falls a bit before the
actual locations where the PRIVATE flags are really stored. Can you find
the right PATTERN? Jot down the location that contains the first "0" of
the pattern and compare that value to the value found in the GETUSER
list. Did you figure it out correctly? Kinda neat, huh? Lastly, try
changing one of the PRIVATE items to see if the pattern also changes. If
so, your double check worked and you can safely assume you've found the
OFFSET you've been looking for.
The default values when first starting the Scanner are as follows:
DISPLAY -> Every ONE Location
OFFSET -> Number 1 (User's Handle)
TEST -> XXX (Three Capital Letters)
JUMP -> Every 1 (Normal Progression)
+ / - -> Initially Scans Forward
Also, when you first enter the Scanner, the SCRATCH Buffer defaults to
loading the personal information of the user who holds Account # 2 on your
system. This was done so the numerous SCRATCH Buffer Variables held info
that possibly differs from the ID # 1 account.
That's all there is to actually USING the Scanner program. Please take
the time to read some of the other TEXT files in this package to learn even
MORE about the GETUSER's!
- Dotoran
============================================================================
Stuck On The Web? Visit my corner> http://www.bluemoon.net/~dotoran
============================================================================